home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Text / WASTE / WASTE 1.1.2 Distribution / Pseudo-UPI for THINK Pascal / FixMath.p < prev    next >
Encoding:
Text File  |  1995-10-12  |  1.4 KB  |  80 lines  |  [TEXT/PJMM]

  1. unit FixMath;
  2.  
  3. { Pascal Interface to the Macintosh Libraries }
  4.  
  5. { Copyright © Apple Computer Inc. }
  6. { All Rights Reserved }
  7.  
  8. { Adapted for use with THINK Pascal 4.0.x by Marco Piovanelli }
  9.  
  10. interface
  11.     uses
  12.         Types;
  13.  
  14.     const
  15.         fixed1 = $00010000;
  16.         fract1 = $40000000;
  17.         positiveInfinity = $7FFFFFFF;
  18.         negativeInfinity = $80000000;
  19.  
  20.  
  21.     function Fix2Frac (x: Fixed): Fract;
  22.     inline
  23.         $A841;
  24.     function Fix2Long (x: Fixed): LONGINT;
  25.     inline
  26.         $A840;
  27.     function Long2Fix (x: LONGINT): Fixed;
  28.     inline
  29.         $A83F;
  30.     function Frac2Fix (x: Fract): Fixed;
  31.     inline
  32.         $A842;
  33.     function FracMul (x: Fract;
  34.                                     y: Fract): Fract;
  35.     inline
  36.         $A84A;
  37.     function FixDiv (x: Fixed;
  38.                                     y: Fixed): Fixed;
  39.     inline
  40.         $A84D;
  41.     function FracDiv (x: Fract;
  42.                                     y: Fract): Fract;
  43.     inline
  44.         $A84B;
  45.     function FracSqrt (x: Fract): Fract;
  46.     inline
  47.         $A849;
  48.     function FracSin (x: Fixed): Fract;
  49.     inline
  50.         $A848;
  51.     function FracCos (x: Fixed): Fract;
  52.     inline
  53.         $A847;
  54.     function FixATan2 (x: LONGINT;
  55.                                     y: LONGINT): Fixed;
  56.     inline
  57.         $A818;
  58.  
  59. {$IFC OPTION(MC68881) }
  60.     function Frac2X (x: Fract): double_t;
  61.     function Fix2X (x: Fixed): double_t;
  62.     function X2Fix (x: double_t): Fixed;
  63.     function X2Frac (x: double_t): Fract;
  64. {$ELSEC}
  65.     function Frac2X (x: Fract): double_t;
  66.     inline
  67.         $A845;
  68.     function Fix2X (x: Fixed): double_t;
  69.     inline
  70.         $A843;
  71.     function X2Fix (x: double_t): Fixed;
  72.     inline
  73.         $A844;
  74.     function X2Frac (x: double_t): Fract;
  75.     inline
  76.         $A846;
  77. {$ENDC}
  78.  
  79. implementation
  80. end.